import { Component } from '@angular/core';
import { AdatokService } from '../adatok.service';
import { map } from 'rxjs';
import { FormControl, FormGroup } from '@angular/forms';
import { Router } from '@angular/router';
import { AuthService } from '../auth.service';

@Component({
  selector: 'app-lista',
  templateUrl: './lista.component.html',
  styleUrls: ['./lista.component.css']
})

export class ListaComponent {

  tomb:string[]=["Alkatrész neve", "Tipus", "Max. fesz. (V)", "Max. áram. (A)", "hFE", "Szerk./Törlés"];
  visszajott_adatok:any;

  emailAllapot:boolean = false;

  constructor(private db:AdatokService, private router:Router, authService:AuthService){
    this.adatokLekerese();

    authService.getIsLogged().subscribe(
                                          {
                                            next: (emailInfo:any):void => { console.log("emailInfo:", emailInfo ); this.emailAllapot=emailInfo; },
                                            error: ():void => {},
                                            complete: ():void => {}
                                          }
                                      );
  }





  /*************************************/
  /**          Adatok lekérése        **/
  /*************************************/
  adatokLekerese(): void {
    this.db.getAllAdatok().snapshotChanges().pipe(
      map(changes =>
        changes.map(c =>
          ({ key: c.payload.key, ...c.payload.val() })
        )
      )
    ).subscribe(
                  {
                    next: (data:any):void => {this.visszajott_adatok = data; console.log(this.visszajott_adatok);},
                    error: (err:any):void => {console.log("Adatlekérés ERROR.");},
                    complete:():void => { console.log("Adatlekérés COMPLETE."); }
                  }
              );
  }

  /*************************************/
  /**           Törlés gomb           **/
  /*************************************/
  rekordTorlese(key:any){
    
    if (confirm("Valóban törölni akarsz?")) {
      this.db.deleteAdatok(key);
    } else {
      window.alert("Törlés felfüggesztve.");
    }

  }


  /*************************************/
  /**        Szerkesztés gomb         **/
  /*************************************/
  kinyitva:boolean = false;

  form_mod= new FormGroup(
    {
      nev_mod : new FormControl(),
      tipus_mod: new FormControl(),
      maxVolt_mod :new FormControl(),
      maxAmper_mod:new FormControl(),
      hFE_mod: new FormControl()
    }
  );

  rekordSzerkesztese(key:any, value:any){
    return this.db.updateAdatok(key, value);
  }

  feldolgoz(a:object){
    console.log(a);
    this.db.setValtozo(a);
    this.router.navigate(['szerkesztes']);
  }

}
